1. Field of the Invention
This invention relates to an image data reading system. More particularly, this invention is directed to an image data reading system capable of receiving image data normally when it takes a long time to receive the data transmitted from a scanner to a host machine in the system.
2. Description of the Related Art
Systems comprising a facsimile machine connected to a host personal computer have recently been developed. Typically, the facsimile machine is used as a printer for printing images output by the computer, or as a scanner for inputting desired images into the computer. In such a system, a control program in the personal computer controls the facsimile machine.
FIG. 3 is a block diagram of a conventional image data reading system. A personal computer 1 is connected to a facsimile machine 7 via an RS-232C I/O port 2. The personal computer 1 typically comprises application programs 6, driver programs 5, a hard disk drive 4, a monitor program 3 and the I/O port 2. The application programs 6, operated directly by a user, comprise a viewer program 6A and a log manager program 6B. The viewer program 6A displays data contents onto a display screen (not shown). The log manager program 6B stores and manages the communication history between the personal computer 1 and the facsimile machine 7 connected to the I/O port 2.
The driver programs 5 are interposed between the application programs 6 and the facsimile machine 7, and facilitate data exchange between them. The method used to access the facsimile machine 7 varies depending on the hardware configuration of the facsimile machine 7 and the personal computer 1. It is difficult to change the access method used by the application programs 6 in order to accommodate different system environments. Thus, the driver programs 5 are interposed between the application programs 6 and the facsimile machine 7. Accordingly, the access method used by the driver programs 5 may be changed to accommodate different system environments, while a single access method is used by the application programs 6.
The driver programs 5 between the application programs 6, and the facsimile machine 7 comprise three programs: (1) a scanner driver 5A; (2) a fax driver 5B; and (3) a printer driver 5C. The scanner driver 5A is a driver program for using the facsimile machine 7 as a scanner. The fax driver 5B is a driver program for using the facsimile machine 7 to either send data stored in the personal computer 1 to another facsimile machine via a telephone line, or to receive data via the telephone line from another facsimile machine to be input to the personal computer 1. The printer driver 5C is a driver program for using the facsimile machine 7 as a printer.
The monitor program 3, interposed between the I/O port 2 and the driver programs 5, manages the I/O port 2. That is, the monitor program 3 converts the format of the data sent to and received from the facsimile machine 7. The monitor program 3 is accessed by each of the three driver programs 5A, 5B and 5C.
The operation of the conventional image data reading system is shown in FIG. 4. In FIG. 4, dashed lines indicate the flow of commands or messages, and solid lines indicate the flow of data.
For the read operation, the facsimile machine 7 is used as a scanner for reading image data into the personal computer 1. It is assumed that the viewer program 6A triggers the reading of the image data. The viewer program 6A first issues a read command M1 to the scanner driver 5A. In response to the read command M1, the scanner driver 5A sends a read command M2 to the monitor program 3. In response to the read command M2, the monitor program 3 sends a read command M3 to the facsimile machine 7 via the I/O port 2.
Upon receipt of the read command M3, the facsimile machine 7 drives its scanner to read an image and generate corresponding image data M4. The facsimile machine 7 sends the image data M4 to the monitor program 3 one line at a time via the I/O port 2. The monitor program 3 converts the format of the image data M4 one line at a time and sends the converted image data M5 to the hard disk drive 4 for storage.
The line-by-line image data read operation is repeated until the image data M5 for a single page has been stored in the hard disk drive 4. When a single page has been stored in the hard disk drive 4, the monitor program 3 sends a message M6 to the scanner driver 5A. The message M6 notifies the scanner driver 5A that the image data M5 for a single page has been stored at a specific address in the hard disk drive 4. In response to the message M6, the scanner driver 5A sends a message M7 to the viewer program 6A that issued the read command M1. The message M7 notifies the viewer program 6A that a single page has been read and stored in the hard disk drive 4 and indicates the address at which the image data M5 for the single page is stored in the hard disk drive 4.
When the image data read operation has been completed for all pages, the facsimile machine 7 sends a read end message to the viewer program 6A through the I/O port 2, the monitor program 3 and the scanner driver 5A. In response to the read end message, the viewer program 6A accesses and reads the image data M5 from the hard disk drive 4, and displays a read-out image data M8 on the display screen.
The scanner driver 5A incorporates a time-out function that prevents the system from hanging up. Specifically, the monitor program 3 is expected to respond within a predetermined time period, for example, 30 seconds, after the scanner driver 5A has issued the read command M2, to instruct the monitor program 3 to read the image data. If the monitor program 3 fails to respond within the predetermined time period, the scanner driver 5A determines an error has occurred in the monitor program 3. Accordingly, the scanner driver 5A halts the read process and sends an error message to the viewer program 6A. In response to the error message, the viewer program 6A displays an error message on the display screen to alert the user.
Depending on the type of image data, the system can take a long time to read the image data or to convert the format of the image data once it has been read. The system can take a long time to perform the image data read operation if the system is also receiving or sending facsimile data. In such cases, the scanner driver 5A will unilaterally execute the time-out function even though the monitor program 3 is functioning normally. The reading of image data is then prematurely halted and may never be normally completed.